package com.eastfair.point.business.auth;

import com.baomidou.mybatisplus.annotation.TableField;
import com.eastfair.annotation.base.SubjectTypeEnum;
import com.eastfair.core.point.PointBuilder;
import com.eastfair.point.PointKeyDefinition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;

/**
 * 加载用户权限事件埋点 业务数据
 */
@Data
//@Builder
public class BusinUpdUserPoint implements PointBuilder, Serializable {
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;



    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String name;



    /**
     * 手机国家区号
     */
    @ApiModelProperty(value = "手机国家区号")
    private String countryCode;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String mobile;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;



    /**
     * 公司id
     */
    @ApiModelProperty(value = "公司id")
    private Long companyId;

    /**
     * 展商id
     */
    @ApiModelProperty(value = "展商id")
    private Long exhibitorId;

    /**
     * 观众id
     */
    @ApiModelProperty(value = "观众id")
    private Long visitorId;


    /**
     * 是否是展商 1是 0否
     */
    @ApiModelProperty(value = "是否是展商 1是 0否")
    private Integer isActor;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String headImg;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickName;




    /**
     * 是否启用 1是 0否
     */
    @ApiModelProperty(value = "是否启用 1是 0否")
    private Integer isEnabled;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    @Size(max = 255, message = "身份证号长度不能超过255")
    private String idCard;
    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    @Size(max = 255, message = "真实姓名长度不能超过255")
    private String realName;


    /**
     * 配套商ID
     */
    @ApiModelProperty(value = "配套商ID")
    private Long matingId;

    /**
     * 主运ID
     */
    @ApiModelProperty(value = "主运ID")
    private Long transportId;

    /**
     * 搭建商ID
     */
    @ApiModelProperty(value = "搭建商ID")
    private Long producerId;
    /**
     * 是否管理员 1是0否
     */
    @ApiModelProperty(value = "是否管理员 1是0否")
    private Integer isAdmin;

    /**
     * 主场ID
     */
    @ApiModelProperty(value = "主场ID")
    private Long courtId;


    /**
     * 项目id
     */
    private Long projectId;

    @Override
    public String getPointName() {
        return PointKeyDefinition.UPD_USER_DETAIL;
    }
}
